Printed circuit boards are used to link various electrical components into a single compact and operable unit. The boards consist generally of a substrate upon which alternating layers of conductive shapes (such as pads or paths) and dielectric material are printed. The dielectric layers are used to electrically isolate one conductive layer of the printed circuit board from another conductive layer, except where electrical connection is desired (e.g., a via may permit electrical communication from one conductive layer of a printed circuit board to another layer).
Typically, a computer aided design (CAD) system is used to design printed circuit boards. Generally, CAD systems represent the design of printed circuit boards in a data format known as the Gerber data format. A Gerber data file describes the layout of a layer of a printed circuit board by containing coordinates describing where a shape is to be printed, what geometry the shape should take on, and where the shape should end. Notably, the Gerber data format describes complex geometries as the intersection of simple geometries. This scheme is depicted in FIG. 1.
FIG. 1 depicts a magnified view of a small portion of a printed circuit board. The portion depicted in FIG. 1 contains eight pads 100-114 arranged in a generally rectangular fashion, as might be used for connection to a simple integrated circuit containing eight pins. As can be seen from FIG. 1, each of the pads 100-114 has an elongated body with a rounded top and a rounded bottom. Rather than represent pad geometry as a single data element, per the Gerber data format, each pad would be represented as the intersection of three separate simple shapes, as shown by the blow-up of pad 114. As can be seen from the blown-up depiction of pad 114, each pad 100-114 is actually defined as the intersection of a circle 116 (forming the top of the pad), a rectangle 118 (forming the body of the pad), and another circle 120 (forming the bottom of the pad).
In the course of manufacturing printed circuit boards, the Gerber data defining a printed circuit board may be passed to an inspection system that examines each layer of the printed circuit board to determine if it has been etched correctly. One repercussion of representing complex geometries as the intersection of simple geometries is that an inspection system that makes use of Gerber data must make several passes over a complex geometry in order to determine that the geometry is correctly printed. For example, with respect to the pads 100-114 depicted in FIG. 1, an inspection device operating based upon Gerber data would have to make three passes for each pad 100-114: a first pass to look for the top circle 116, a second pass to look for the rectangular body 118, and a third pass to look for the bottom circle 120. This sort of redundancy reduces the overall efficiency of the inspection system. This same issue presents itself when inspecting solder paste printing quality during printed circuit board assembly.
Another consequence of passing Gerber data to an inspection system is that the inspection system will perform its operations in the sequence defined by the Gerber file. This means that the inspection system may examine a first geometry located in one position, and then inspect a second geometry located on the other side of the board, rather than inspecting a geometry located next to the last-inspected geometry. Such a scheme is inefficient, and reduces the overall through-put of the inspection system. This same issue presents itself when inspecting solder paste printing quality during printed circuit board assembly.
As is evident from the foregoing discussion, there exists a need for a scheme by which Gerber data may be translated into a format readable by vision software (such as may be found on a printed circuit board inspection system). A desirable solution may represent complex geometries as a single data element. Additionally, a desirable solution may order its translated data format in such a way as to prevent the inspection system from consecutively inspecting geometries situated in non-proximate regions of the board.